package ws;

import java.util.ArrayList;
import java.util.Collection;
import org.orm.PersistentException;
import com.google.gson.Gson;
import soapvo.RegionSOAPVO;

public class RegionSOA {
	
	public RegionSOA () {}
	
	public String getTodasLasRegiones () throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_region[] regiones;

		regiones = factory.getTrp_regionDAO().listTrp_regionByQuery(null, null);
		return buscar(regiones);
	}
	
	public String getRegionId (int re_id_region) throws PersistentException {
				
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_region[] regiones;

		regiones = factory.getTrp_regionDAO().listTrp_regionByQuery("re_id_region = " + re_id_region, null);
		return buscar(regiones);
	}
	
	public String getRegionNombre (String re_des_region) throws PersistentException {		
		orm.DAOFactory factory = orm.DAOFactory.getDAOFactory();
		orm.Trp_region[] regiones;

		regiones = factory.getTrp_regionDAO().listTrp_regionByQuery("re_des_region = '" + re_des_region + "'", null);
		return buscar(regiones);
	}

	private String buscar(orm.Trp_region[] arreglo) {

		String mensaje=" ";
		int largo=0;	
		Collection<RegionSOAPVO> coleccionSoapvo = new ArrayList<RegionSOAPVO>();
		largo = arreglo.length;

		if(largo>0){

			for(int i=0;i<largo;i++) {
				RegionSOAPVO objeto = RegionSOAPVO.crearSOAPVO(arreglo[i]);
				coleccionSoapvo.add(objeto);
			}		
			Gson gson = new Gson();
			mensaje = gson.toJson(coleccionSoapvo);

		} else mensaje = "No existen registros;";

		return mensaje;
	}

}
